package com.framework.service;

import com.baomidou.mybatisplus.service.IService;
import com.framework.entity.flow.FlowNoticeTer;
import com.framework.entity.flow.FlowNoticeTerInfo;
import com.framework.entity.sys.SysNotice;
import com.framework.entity.sys.SysNoticeRead;
import com.framework.view.FlowNoticeTerView;

import java.util.List;
import java.util.Map;

/**
 * 功能描述: 通知业务
 *
 * @author ck
 * @date 2018/8/28 19:46
 */
public interface NoticeReadService extends IService<SysNoticeRead> {

	/**
	 * 分配通知列表
	 * @param token
	 * @return
	 */
	List<FlowNoticeTerView> getNoticeTerList(String token);

	/**
	 * 分配通知详情
	 * @param noticeTerNo
	 * @return
	 */
	Map<String,Object> getNoticeTerInfo(String noticeTerNo);

	/**
	 * 得到消息通知
	 * @param token
	 * @return
	 */
	Map<String,Object> getMessageNotice(String token);

	/**
	 * 接受终端操作
	 * @param token
	 * @param noticeTerNo
	 */
	void acceptTer(String token,String noticeTerNo);

	/**
	 * 添加终端分配通知信息
	 * @param flowNoticeTer
	 */
	void insertNoticeTer(FlowNoticeTer flowNoticeTer);

	/**
	 * 添加终端分配通知详情
	 * @param flowNoticeTerInfo
	 */
	void insertNoticeTerInfo(FlowNoticeTerInfo flowNoticeTerInfo);

	/**
	 * 系统通知列表
	 * @param token
	 * @return
	 */
	List<Map<String,Object>> querySysNoticeList(String token);

	/**
	 *
	 * @param token
	 * @param sysNoticeNo
	 * @return
	 */
	SysNotice querySysNoticeInfo(String token, String sysNoticeNo);

	/**
	 * 查询是否有需要接受的机器
	 * @param token
	 * @return
	 */
	boolean isAcceptTer(String token);

	/**
	 * 首页的轮播信息
	 * @param token
	 * @return
	 */
    List<Map<String, Object>> queryCarouselNoticeList(String token);

	/**
	 *信息数量
	 * @param token
	 * @return
	 */
	Map<String, Object> getMessageNoticeCount(String token);
}

